import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
import javax.swing.JLabel;
import javax.swing.JTextField;
import javax.swing.JButton;

import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.util.HashMap;
import javax.swing.JComboBox;

public class VueSaisieArticle extends Vue{
	
	private static final long serialVersionUID = 1L;

	private JPanel contentPane;
	private JTextField textFieldTitreArt;
	private JComboBox comboBoxAut;
	private JLabel lblAuteur;
	private JButton buttonEnreg;
	
	public VueSaisieArticle(Controleur controleur, HashMap<String, Auteur> auteurs) 
	{
		super (controleur);
		setTitle("Enregistrement d'un nouvel article");
		setBounds(100, 100, 546, 224);
		contentPane = new JPanel();
		this.addWindowListener (new WindowAdapter() 
		{
			public void windowClosing (WindowEvent e) 
			{
				getControleur().fermerVue(VueSaisieArticle.this);
			}
		});
		
		contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
		setContentPane(contentPane);
		contentPane.setLayout(null);
		
		JLabel lblTitreArticle = new JLabel("Titre du nouvel Article");
		lblTitreArticle.setBounds(34, 33, 157, 15);
		contentPane.add(lblTitreArticle);
		
		textFieldTitreArt = new JTextField();
		textFieldTitreArt.setBounds(176, 30, 297, 19);
		contentPane.add(textFieldTitreArt);
		textFieldTitreArt.setColumns(10);
		
		comboBoxAut = new JComboBox();
		comboBoxAut.setBounds(176, 81, 297, 24);
		contentPane.add(comboBoxAut);
		comboBoxAut.setEditable(true);
		
		buttonEnreg = new JButton("Enregistrer");
		buttonEnreg.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				String titreArticle = textFieldTitreArt.getText();
				String auteur = comboBoxAut.getSelectedItem().toString();				
				getControleur().nouvArticle(titreArticle, auteur);
			}
			});
		buttonEnreg.setBounds(176, 133, 107, 25);
		contentPane.add(buttonEnreg);
		
		lblAuteur = new JLabel("Auteur");
		lblAuteur.setBounds(109, 86, 61, 15);
		contentPane.add(lblAuteur);
		
		JButton btnAnnuler = new JButton("Annuler");
		btnAnnuler.setBounds(366, 133, 107, 25);
		contentPane.add(btnAnnuler);	
		
		btnAnnuler.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				getControleur().fermerVue(VueSaisieArticle.this);}
			});
		
		if(auteurs != null)
		{
			for (String key : auteurs.keySet())
			{
				comboBoxAut.addItem(key);
			}
		}
	}
}
